Return To Home Search Feedback

Search Only Tips

Back to Mail and Schedule +
Up to Table of Contents
Ahead to The Norton Desktop

Memory Management

A Black-and-White Issue

With MemMaker and a Super VGA display, you can free up conventional memory by using the MONOUMB.368 file. Open SYSTEM.INI, add
device=c:\dos\monoumb.386
to the [386Enh] section and save the file. Restart your computer and run MemMaker by typing
MEMMAKER
at the DOS prompt. Choose Custom Setup. On the Advanced Options screen, answer
Yes
to the question "Use monochrome region (B000-B7FF) for running programs?" Then follow the instructions on your screen.

Disk Compression Cramps MemMaker

MemMaker can't undo changes in the CONFIG.SYS and AUTOEXEC.BAT files if it fails to restart your computer when run with a third-party disk compression program (Stacker, SuperStor and so on). To restore your computer to its previous state, quit MemMaker, then copy and rename the AUTOEXEC.UMB and CONFIG.UMB backup files that MemMaker creates from the host drive to the compressed volume. For example, if drive D is the uncompressed host drive and drive C is the compressed drive, type
copy d:\autoexec.umb c:\autoexec.bat
and then
copy d:\config.umb c:\config.sys
.

QEMMÕs Plus Can Be a Minus

A plus sign can be the culprit if you get a Bad Command or Filename message when using QEMM to load programs into upper memory. QEMM might be using a plus sign for a delimiter in the files command from your AUTOEXEC.BAT file. For instance, the command
c:\qemm\loadhi /r:1 files+30
isn't valid. To fix the problem, remove the command from your AUTOEXEC.BAT file, then add the
files=
command to your CONFIG.SYS file to specify the number of open files. In this case, you'd use
files=30
.

Explore New Regions

EMM386 Version 4.45 can scan and free additional memory regions if they've been duplicated elsewhere. To enable this feature, edit your CONFIG.SYS file and add the
highscan
switch to the device= line that loads EMM386.EXE.

The Old Switcheroo

If you don't need virtual control program interface (VCPI) support and are using EMM386 version 4.45 or higher, free some memory by using the NOVCPI switch. In prior versions, the NOEMS switch disabled both EMS and VCPI support, but now you need both switches.

Get the Message

If you'd like EMM386 version 4.45 or higher to display status, error and warning messages for troubleshooting, edit your CONFIG.SYS file and add the VERBOSE switch to the device command for EMM386.EXE. That way, if EMM386 encounters an error during initialization, it switches to verbose mode, and displays the error message and all remaining startup information.

Information from a Key Source

Get more information when refining your computer's memory usage by holding down the Alt key during reboot. This initiates a display of startup information.

What's the Status?

Need more information from HIMEM.SYS, such as the status of the A20-line (used to access and control high memory so no two programs can access the same extended memory range), warning and error messages? Then edit your CONFIG.SYS file and add the /VERBOSE (
/V
) switch to the device command for HIMEM.SYS. If HIMEM.SYS encounters an error during initialization, it'll display the error message and all remaining startup information.

Now, Isn't That Special?

Avoid running out of resources in the middle of a task that you don't often do by creating a special boot configuration just for that task. The configuration should consist of the minimum number of drivers needed to get the job done. For example, leave out sound card, CD-ROM, RAM-disk and other drivers, if possible. With DOS 6.0 and above, you can create multiboot configurations that allow you to choose the configuration you want when the system boots.

A Font Saved Is Memory Earned

Remove fonts you don't need to free memory and speed up applications. Double-click on the Fonts Control Panel applet. Select the fonts you don't need, then press the remove button. You won't delete them from the disk, you'll just remove them from memory. Use this same window to reinstall them.

Pull the Switch

To temporarily free up memory when using Adobe Type Manager, keep it from loading fonts at startup by switching it off and rebooting.

Use it or Lose it

To free some memory, check your AUTOEXEC.BAT and CONFIG.SYS files for unnecessary programs loaded at boot-up. Don't delete the lines; just place a REM (remark) statement in front of them. This way, if you've mistakenly disabled a program you need (gulp!), you can easily remove the REM statement and enable the line.

ItÕs *Not* Nice to Share

Save a nice chunk of memory if you spend all your time in Windows and not in DOS, by not loading Share. Share is seldom needed, and Windows uses a program called VSHARE to do the same job, anyway. Check your CONFIG.SYS file and delete the line that loads Share, if it exists.

DonÕt Pretend

For more memory, you can likely remove the SETVER.EXE program line from your AUTOEXEC.BAT or CONFIG.SYS files. It's only needed so DOS can pretend it's an older version. If you don't get an "Incorrect DOS version" message from any of your programs upon rebooting, the trick worked.

Load 'em High

Maximize the amount of lower memory available to Windows by using the LOADHIGH and DEVICEHIGH commands in front of the device drivers and applications your system files are loading. When you do, AUTOEXEC.BAT and CONFIG.SYS files load all terminate-and-stay-resident programs and device drivers into the upper memory blocks, wherever possible.

Exterminate DOS

If you use your mouse only in Windows, remove any commands that load mouse drivers from your AUTOEXEC.BAT and CONFIG.SYS files in order to save memory.

Look at the Colors!

Use a color for the desktop background instead of wallpaper or bitmaps if you need to free memory for running applications.

Screen Savers/Memory Wasters

Running low on memory? Disable your screen saver, especially if programs crash when it kicks in. If you're reluctant to do that, use a simple screen saver, such as those that come with Windows.

Turn-Off Toolbars

Toolbars or button bars eat memory. If you don't need one, turn it off. Most applications provide access to all functions via menus or keystrokes, anyway.

Close the Window!

If you often run out of memory, try opening as few applications as possible. If an application supports multiple windows, keep as few of those windows openas possible.

Less is More

The fewer colors your video card uses, the more memory you'll have available. So while true-color (24-bit color) or high-color (16-bit color) video looks great, falling back to 256 or 16 colors (8-bit or 4-bit color) can save you some memory.

Get Loaded

The HIMEM.SYS and EMM386.EXE drivers in CONFIG.SYS don't work in high memory. You must load them with the
device= [path] [file name] [parameters]
syntax, not the DEVICEHIGH command.

Rogue Upstarts

If you often run out of memory with only a couple of applications open, check your Startup group for unnecessary programs.

Create a Swap File

If you have sufficient disk space, use a swap file to take some of the storage burden off your memory. Double-click on the 386 Enhanced icon in Control Panel and look at the Type under SwapFile Settings. If none is present, click on the change button, change the type to permanent and choose OK.

Increase Your Virtual Memory

Increasing the size of your virtual memory is similar to adding RAM. To give it a boost, choose the 386 Enhanced icon in Control Panel. Click on the Virtual Memory button and then click on the Change button. Type in the desired size in the New Size dialog box. Your permanent swap file setting must be no larger than the largest contiguous free segment on the specified hard disk.

Manage Memory Better

EMM386.EXE and HIMEM.SYS are reasonable memory managers, but you can get more advanced ones. QEMM386 from Quarterdeck Office Systems, 386MAX from Qualitas or NetRoom from Helix Software are among the more popular applications and they manage memory better, so if you keep running out of memory they're worth a try.

Don't Overextend

To save memory while running non-Windows applications, allocate only the minimum extended memory necessary in the application's PIF.

Proper Expansion

To get the most out of expanded memory in Windows, use the RAM switch and not the NOEMS switch for EMM386.EXE.

Controlled Expansion

Control the amount of expanded memory (EMS) allocated to a non-Windows application running under Windows by editing its PIF.

Run DOS High

Save a lot of conventional memory by loading MS-DOS into high memory. Load HIMEM.SYS and EMM386.EXE with the
Device=
command in the CONFIG.SYS file. Follow that with
dos=high
in your CONFIG.SYS file.

Save Conventional Memory

Save some conventional memory by using upper memory buffers. Be sure you

load HIMEM.SYS and EMM386. EXE with the
Device=
command in the CONFIG.SYS file, and follow that with
dos=UMB
in your CONFIG.SYS file.

You can also combine these last two tips and use the line
DEVICE=HIGH,UMB
in your CONFIG.SYS file.

Avoid Video Address Problems

Super VGA cards often use nonstandard memory addresses that cause memory conflicts. This can cause Windows to crash or behave erratically. On some systems, the only solution is to disable shadowing of the video BIOS. You can usually get to the BIOS settings by using a special key combination--such as Ctrl+Alt+Esc, or by pressing the F2 key--when you first boot-up. In other cases, using standard Microsoft-provided Windows drivers at a lower resolution will help. If you run EMM386, exclude the video card's memory addresses using the
X=[video address range]
parameter on the line that loads EMM386.EXE in your CONFIG.SYS file. Obtain the address range from your video card's documentation. Also place the range after EMMExclude= in the [386Enh] section of the SYSTEM.INI file.

Trim the TrueType Threshold

You can trade TrueType rendering speed for memory by adding the
Headline Threshold
parameter to the [TrueType] section of WIN.INI. Set it equal to between 1 (slower rendering/more memory) and 300 (faster rendering/less memory).

Be TSR Smart

Save memory when using DOS programs that require a TSR by loading only the TSR just prior to running the program, rather than installing every time you boot-up. Create a batch file that loads the TSR and then runs the program. Launch the batch file from Windows to initiate the program. After you use the batch file, the TSR will take up memory until you reboot, but at least it only occupies memory when you use it and not all the time.

BIOS Blues

If your computer generates an A:20 handler error when loading the extended memory manager, it's probably because of your system's BIOS. Some BIOSes need special switches on the HIMEM.SYS line in the CONFIG.SYS file to work properly. Check the HIMEM.SYS section of your DOS manual for a list of switches you can add to modify this statement.

Does Size Matter?

The amount of memory you have should determine the size of your swap file. If you have less than 4MB of RAM and use Windows 3.1, or less than 8MB and use Windows for Workgroups (WFWG), the swap file should be around 8MB and 16MB, respectively. If you have more memory than that, a 4MB swap file is probably adequate. If you still get Out Of Memory messages, increase the size of the swap file.

Get Physical

Set up a swap file on a hard disk, never on a RAM disk. Using a RAM disk will reduce performance on most systems.

Windows Is Greedy

If Windows runs out of certain types of resources (such as file buffers and file handles) it can misbehave. If Windows seems unstable, but your memory use is Spartan, increase the quantity of those resources. Look in your CONFIG.SYS file for lines like FILES=, BUFFERS=, STACKS= and SHELL=C:\COMMAND.COM /P /E:1024, and increase the numbers you see there. That takes up some memory, but stability is more important.

Prune Your WIN.INI File

A quick way to gain some memory is to keep your WIN.INI file small. Windows loads the WIN.INI file in memory, so a smaller WIN.INI can save memory. Good candidates for deletion are lines you've REMed-out to disable them, comments thrown in by setup programs, sections for programs you've removed and lines referencing never-used fonts.

Mono-a-Mono

If you never use the VGA adapter's monochrome mode, you can free up an extra memory block. Just add the line
VGAMonoText=Off
to the [386Enh] section of your SYSTEM.INI file.

Be Timely

With the advances made in memory management, you should be using the latest versions of HIMEM.SYS and EMM386. In order of increasing preference, use the versions bundled with MS-DOS 5.0, Windows 3.1, MS-DOS 6.0 or WFWG 3.11.

Back to Mail and Schedule +
Up to Table of Contents
Ahead to The Norton Desktop

Copyright (c) 1996 CMP Media Inc.